package com.example.werewolf.common;

public class WereWolfPrompt {

    public static final String PLAYER_DEFAULT_PROMPT  = """
            本局玩法规则是%s，我是%s号，本局游戏为身份为%s，当前角色玩法：%s。
            """;

    public static final String WERE_WOLF_DEFAULT_SYSTEM_RULES = """
            游戏角色与职能
            
            狼人（2名）:狼人是游戏中的反派角色，通常在一开始不会公开自己的身份。狼人每晚可以选择一名玩家进行“杀人”行动。该玩家在第二天将被宣布死亡，并且无法参与投票或行动。狼人之间可以商量策略，合作击杀村民及其他阵营的角色。狼人一方的最终目标是通过在白天的投票阶段逐步淘汰村民和其他非狼人角色，直到他们的数量达到与其他阵营平分或超过时，狼人阵营就胜利。
            女巫（1名）:女巫是村民阵营中的特殊角色，拥有两种药水：
                解药：每晚女巫可以选择使用解药救活一名被狼人“杀死”的玩家。若女巫未使用解药，杀死的玩家将死亡。
                毒药：女巫还可以使用毒药，每晚选择一名玩家，用毒药将其杀死。毒药只能使用一次，用过后无法再使用。毒药的使用不受狼人杀人的影响，女巫可以选择杀掉任何玩家，包括狼人或其他村民。
                女巫的目标是协助村民阵营，利用解药保护关键角色，使用毒药消灭怀疑是狼人或对村民阵营构成威胁的玩家。
            预言家（1名）:预言家是村民阵营中的另一名特殊角色，每晚可以通过占卜查验一名玩家的身份。主持人会告知预言家该玩家是“狼人”还是“非狼人”（包括村民、女巫、猎人等）。预言家的目标是通过查验信息帮助村民阵营识别狼人，并通过白天的投票将狼人处决。
            猎人（1名）:猎人是一个高风险高回报的角色。猎人没有夜晚的特殊行动，但如果在白天的投票阶段被其他玩家处决（无论是因为怀疑还是其他原因），猎人可以选择开枪杀死一名玩家。猎人可以选择任何玩家作为开枪目标，不受其他玩家身份的限制。猎人的目标是通过投票被淘汰后，尽可能地消灭一个可能对村民阵营造成威胁的玩家，尤其是狼人。
            平民（3名）:平民是没有特殊能力的角色，他们的主要任务是通过推理、交流、观察他人的行为来找出狼人，并在白天投票阶段通过淘汰狼人帮助村民阵营获胜。平民需要依靠其他角色（如预言家、女巫等）的帮助与线索进行推理，同时也需要协作以避免误伤其他非狼人角色。
            
            胜利条件
            狼人阵营胜利条件：当狼人数量等于或超过其他玩家的数量时，狼人阵营获胜。狼人通过杀人和操控投票来逐步削弱其他阵营。
            村民阵营胜利条件：当所有狼人被淘汰，或者狼人无法再威胁到村民阵营时，村民阵营胜利。村民阵营需要通过有效的推理和合作来识别并淘汰狼人。
            
            注意事项
            狼人阵营的策略：狼人应当尽量保持低调，避免暴露自己的身份。他们可以互相协作制造混乱，误导村民阵营作出错误决策。
            女巫的药水使用：女巫的解药和毒药使用必须谨慎，使用错误可能导致村民阵营的失败。
            猎人的开枪选择：猎人的开枪行动可能会对游戏局势产生重要影响，若猎人选择错误，可能反而帮助了狼人阵营。
            投票与讨论：投票是游戏中的关键，村民和狼人应当通过讨论和推理影响其他玩家的决策。狼人会尝试制造分裂，挑起对其他玩家的怀疑。
            """;


    public static final String PROCESS_ACTION_PROMPT = """
            当前阶段：%s，阶段内行为内容：%s，当前轮到的我的动作：%s
            我所了解的事件：
            %s

            结合以上内容，给出我的行动结果。
            """;

    public static final String GAME_TACTICS = """
            1. 悍跳（悍跳预言家）
            定义：狼人主动跳预言家身份，伪造查验信息，混淆视听。
            目的：抢占预言家位置，引导投票方向，保护狼队友。
            操作：
                首夜或次日强势跳预言家，报出“查杀”（通常是真预言家或强神）；
                编造“验人逻辑”，如“昨晚验3号，他发言差，是狼”；
                与真预言家对跳，制造“真假难辨”局面。
            风险：若逻辑漏洞大或被女巫/守卫证伪，容易被识破。
            
            2. 带跳（带预言家跳）
            定义：狼人假装支持某位玩家跳预言家，实则将其“带偏”或“带崩”。
            目的：诱导真预言家暴露，或让好人误信假预言家。
            操作：
                当A玩家跳预言家时，狼人立刻说：“我昨晚守/救了你，你是真预言家！”（冒充守卫/女巫）；
                或假装“预言家队友”，帮其圆谎，实则埋下矛盾点。
            关键：需精准判断谁可能跳预言家，避免带错人。
            
            3. 狼查杀狼（自刀/互查杀）
            定义：狼人悍跳预言家后，查杀自己的狼队友。
            目的：制造“预言家敢查杀”的可信度，洗清自己嫌疑。
            操作：
                悍跳预言家查杀4号（狼队友），说：“4号是我查的狼，我敢打他，说明我是真预言家”；
                被查杀的狼队友需配合“装傻”或“自爆”，避免暴露。
            风险：若被查杀狼队友演技差，易引发怀疑。
            4. 倒钩（倒钩狼）
            定义：狼人假装站在好人阵营，甚至“反水”攻击狼队友。
            目的：获取好人信任，后期收割。
            操作：
                发言中激烈质疑其他狼人（如：“2号发言漏洞太大，肯定是狼！”）；
                在投票时跟票打狼队友，表现“大义灭亲”。
            关键：需控制攻击力度，避免过度表演显得刻意。
            
            5. 深水狼（藏狼）
            定义：狼人全程低调，伪装成“划水民”或“边缘神”。
            目的：避免被预言家查验，活到后期。
            操作：
                发言简短，如“过”“听发言”“跟票”；
                遇到质疑时示弱：“我真是民，不敢乱说”。
            风险：若全场划水，可能被抗推；需配合狼队友打冲锋。
            
            6. 穿神衣服（冒充神职）
            定义：狼人冒充女巫、守卫、猎人等神职身份。
            目的：获取信息或保护狼队。
            操作：
                冒充女巫：“昨晚我救了5号，毒了3号”（实际未行动）；
                冒充猎人：“如果我被票，就开枪带走X号”。
            注意：需熟悉神职技能逻辑，避免穿帮（如女巫不能自救）。
            
            7. 反咬战术（倒打一耙）
            定义：被怀疑时，立即反指对方是狼。
            目的：转移焦点，制造混乱。
            操作：
                当被质疑时喊：“你这么急着打我，是不是怕我查出你是狼？”；
                联合其他玩家：“我们一起打他，他肯定是狼在搅局！”
            适用：适合悍跳狼或倒钩狼在危机时使用。
            
            8. 归票战术（好人视角）
            定义：预言家或警长通过发言引导投票方向。
            目的：统一好人票型，避免分散。
            操作：
                预言家明确归票：“今天全票打4号，他是我的查杀”；
                警长利用警徽流：“如果4号没死，明天查5号”。
            关键：需逻辑扎实，否则易被狼人带偏。
            
            9. 金水/查杀联动
            定义：利用预言家给出的“金水”（验人好人）和“查杀”构建逻辑链。
            目的：强化预言家可信度，锁定狼坑。
            操作：
                真预言家：“我查3号是金水，3号说5号像狼，那5号很可能是狼”；
                金水玩家配合：“我确实是好人，建议打5号”。
            狼人反制：悍跳狼会伪造金水，如“我查6号是金水”，诱导6号为其作证。
            
            10. 自爆战术（狼人视角）
            定义：狼人在白天自爆，打断关键发言或归票。
            目的：避免被查杀/毒杀，或干扰好人信息获取。
            操作：
                当预言家即将归票时，狼人自爆进入黑夜；
                或在女巫报银水时自爆，阻止女巫毒狼。
            注意：自爆后失去夜间刀人机会，需权衡利弊。
            
            附加：战术使用原则
                狼人：核心是“制造信息差”，通过谎言、表演和逻辑漏洞误导好人。
                好人：核心是“信息验证”，通过发言细节、行为一致性判断身份。
                高阶技巧：结合板子配置（如是否有守卫、猎人）、游戏阶段（前期/后期）灵活调整战术。
            """;

    /*
                私有事件：${List<Event>}
            公共事件：${List<Event>}
    游戏总纲：
            角色行为规则：
            游戏阶段和当前任务：
            发言人：（玩家编号或旁白）
            角色：（自身属性）
            发言对象：（全体，个人）
            动作：（发言，救人，刀人等）

            例如：本局玩法规则是{游戏总纲}，我是{玩家编号}号，本局游戏为{角色}身份，{角色行为规则}。
                当前阶段：${阶段}，阶段内行为内容：${阶段行为内容}，当前轮到的我的动作：${当前动作}
                私有事件：${角色私有事件}
                公共事件：${List<Event>}
                结合以上内容，给出我的行动结果。

                例1：本局玩法规则是{游戏总纲}，我是{xx}号，本局游戏为{狼人}身份，{角色行为规则}。
                当前阶段是首夜阶段：阶段行为内容：狼人行动，当前我的动作：和xx号狼人队友对话并商讨刀人思路
                私有事件：xx号是狼队友
                公共事件：无
                结合以上内容，给出行动结果：

                结果：
                动作：对话
                对象：xx号
                事件类型：私有事件
                内容：“我觉得可以刀xx号，然后....

                例2：本局玩法规则是{游戏总纲}，我是{xx}号，本局游戏为{预言家}身份，{角色行为规则}。
                当前阶段是首夜阶段：阶段行为内容：查验某位玩家身份，当前我的动作：查验xx身份底牌
                私有事件：无
                公共事件：无
                结合以上内容，给出行动结果：
                结果：
                动作：查验
                对话：主持人
                事件类型：私有事件
                内容："我要查验xx玩家，请给出他的身份"或”我怀疑xx号玩家可疑，我想要查验xx号玩家身份底牌“等

                例3：本局玩法规则是{游戏总纲}，我是{玩家编号}号，本局游戏为{平民}身份，{角色行为规则}。
                当前阶段是第一天白天发言阶段：阶段行为内容：玩家发言，当前我的动作：根据公共事件，角色玩法逻辑和其他事件（上警玩家信息）给出有利于好人胜利的。
                私有事件：暂无
                公共事件：
                · xx号发言：.....
                · xx号发言：.....
                ...
                结合以上内容，给出行动结果：
                结果：
                动作：发言
                对话：全体
                事件类型：公共事件
                内容：刚才xx发言...,我怀疑...，我支持...作为预言家
     */
}
